Stored Procedures [dbo].[sp_asi_MakeImisUser]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@useridvarchar(255)255
@userpasswordvarchar(255)255
@sapasswordvarchar(255)255
Permissions
TypeActionOwning Principal
GrantExecuteIMIS
SQL Script
create procedure [dbo].[sp_asi_MakeImisUser] @userid varchar(255), @userpassword varchar(255), @sapassword varchar(255)=NULL
as  
declare @execSQL nvarchar(1000)
declare @loginid varbinary (85)  
select @loginid = sid from master..syslogins where loginname = @userid
if exists (select u.isaliased from sysusers u where u.isaliased = 1 and u.sid = @loginid and @loginid is not NULL)
     begin
     exec sp_password NULL, @userpassword, @userid  
     return
     end
if @loginid is not null
     begin  
     exec sp_password NULL, @userpassword, @userid  
     end
else  begin  
     exec sp_addlogin @userid, @userpassword
     select @loginid = sid from master..syslogins where loginname = @userid  
     end  
if not exists (select d.sid from sysusers d where d.sid = @loginid )  
     begin   
     if lower(@userid)='guest'  
         begin   
         if not exists (select d.sid from sysusers d where d.name = lower(@userid) and d.sid < 0)    
             exec sp_adduser @userid, @userid   
        SELECT @execSQL = 'sp_addrolemember ''IMIS'', [' + @userid + ']'
        EXEC (@execSQL)
         end  
     else   
         exec sp_adduser @userid, @userid, 'IMIS'  
     end  
else  begin  
     declare @oldusername varchar(255)  
     select @oldusername = u.name from  sysusers u where u.sid = @loginid
     if @oldusername <> @userid  
         begin  
         exec sp_dropuser @oldusername  
         exec sp_adduser @userid, @userid, 'IMIS'  
         end  
     end
return

GO
GRANT EXECUTE ON  [dbo].[sp_asi_MakeImisUser] TO [IMIS]
GO
Uses